package com.kaifamiao.buffer;

/**
 * 1、StringBuffer 实现了 java.lang.CharSequence 接口，因此也属于字符序列
 * 2、StringBuffer 内部采用数组来存储 字符序列 的内容
 * 		在 Java 9 之前，StringBuffer 内部采用 char 数组 存储 字符序列
 * 		从 Java 9 开始，StringBuffer 内部采用 编码的 byte 数组 来存储 字符序列的内容
 * 3、StringBuffer 的 length() 方法用于获取字符缓冲区中所存放的有效字符数
 * 4、StringBuffer 的 capacity() 方法用于获取字符缓冲区的容量
 * 5、StringBuffer 中有大量相互重载的 append 方法用于在缓冲区末尾追加内容
 */
public class StringBufferTest1 {

	public static void main(String[] args) {
		
		StringBuffer buffer = new StringBuffer();
		display(buffer);
		
		buffer.append( false );
		display(buffer);
		
		char[] chars = { '海','上','生','明','月','天','涯','共','此','时' } ;
		// CharSequence cs = "海上生明月天涯共此时" ;
		buffer.append( chars );
		display(buffer);
		
		buffer.append( '明' );
		display(buffer);
		
		// append( char[] chs , int offset, int length )
		buffer.append( chars , 3 , 4 );
		display(buffer);

	}

	private static void display(StringBuffer buffer) {
		System.out.print( "length: " + buffer.length() );
		System.out.println( " , capacity: " + buffer.capacity() );
		System.out.println( buffer );
	}

}
